
#ifndef _MEMBER_BUNIFORM_H_
#define _MEMBER_BUNIFORM_H_

#include <BArray>
#include <BVectorArray>
#include <BColorArray>
#include <BMatrixArray>
#include <BOpenGL>
#include <BProgram>
#include <BUniform>

#define uniform_member(uniform)	((member_BUniform*)((BUniform*)uniform)->_ptr)

namespace BWE
{
	class member_BUniform
	{
	public:
		member_BUniform(BUniform* uniform);
		~member_BUniform();

		void init(BUniform::Type type, int size);
		bool fresh(GLuint program);

		BUniform*		boss;
		GLint			location;
		bool			dirty;
		BUniform::Type	type;
		int				size;
		BByteArray		value;

	};
}

#endif
